Real data from databases are ideal for functional and performance testing of software. Software testing with real data may expose software bugs that would normally be missed when software testing with data generated specifically for testing. A volume of data from a real database usually is too large for a test environment due to storage, time and budget constraints. Therefore, the use of real data from databases for software testing is rare.
A subset of real data from databases may be used for software testing. However, when using relational databases, creating a subset of a database, while preserving referential integrity among tables, is difficult.